---
title: Invalid value for getStaticPaths route parameter.
i18nReady: true
githubURL: https://github.com/withastro/astro/blob/main/packages/astro/src/core/errors/errors-data.ts
---

> **GetStaticPathsInvalidRouteParam**: `getStaticPaths` 的路由参数 `KEY` 无效。期望是 undefined、string 或 number，但接收到的 `VALUE` 类型是 `VALUE_TYPE`。

## 哪里出了问题？

因为路径参数 `params` 被编码到链接中，所以只支持某些类型的值作为参数。

```astro title="/route/[id].astro"
---
export async function getStaticPaths() {
 return [
  { params: { id: '1' } } // 有效
  { params: { id: 2 } } // 有效
  { params: { id: false } } // 无效
 ];
}
---
```

在使用[剩余参数](/zh-cn/guides/routing/#剩余参数)的路由中，可以使用 `undefined` 来表示在链接中未传递任何参数的路径。

```astro title="/route/[...id].astro"
---
export async function getStaticPaths() {
 return [
  { params: { id: 1 } } // /route/1
  { params: { id: 2 } } // /route/2
  { params: { id: undefined } } // /route/
 ];
}
---
```

**请参阅：**

- [`getStaticPaths()`](/zh-cn/reference/api-reference/#getstaticpaths)
- [`params`](/zh-cn/reference/api-reference/#params)
